//
//  ConfigurationManager.h
//  mUBB
//
//  Created by Cosmin Stirbu on 2/23/13.
//  Copyright (c) 2013 Cosmin Stirbu. All rights reserved.
//

#import <Foundation/Foundation.h>

// Application Config Keys
#define ACCESS_TOKEN @"AccessToken"
#define WEB_SERVICE_ENTRY_POINT @"WebServiceEntryPoint"
#define USER_ID @"UserId"
#define REMEMBER_OPTION @"RemeberOption"
#define DEVICE_ID @"DeviceId"
#define CAN_RECEIVE_NOTIFICATIONS @"CanReceiveNotifications"


@interface ConfigurationManager : NSObject {
    @private
    // App Config path
    NSString *_appConfigPath;
    
    // UI Config path
    NSString *_uiConfigPath;
    
    // NSDictionary with the cached properties from the ApplicationConfig.plist
    NSMutableDictionary *_appConfigDictionary;
    
    // NSDictionary with the cached properties from UIConfig.plist
    NSMutableDictionary *_uiConfigDictionary;
}

// Singleton Instance
+ (ConfigurationManager *)instance;

// Get Application Config Value for key
- (id)applicationConfigValueForKey:(NSString *)key;

// Save Application Config Value For Key
- (void)setApplicationConfigValue:(id)value forKey:(NSString *)key;

// Get UI Config Value for key
- (id)UIConfigValueForKey:(NSString *)key;

// Save app config
- (void)saveApplicationConfig;
@end
